package web.actions;

import java.io.File;
import java.io.FileOutputStream;
import java.io.IOException;

import org.apache.commons.fileupload.FileItem;
import org.mentawai.core.BaseAction;

import sistema.contexto.AvaliacaoBLFacade;

public class SubmeterSolucao extends BaseAction{

	public String execute() throws Exception {
		String identificador = null;
		try{
		
		AvaliacaoBLFacade ava =  (AvaliacaoBLFacade) input.getValue("avalFacade");
		identificador = input.getStringValue("identificador");
		
		FileItem itemEntrada = (FileItem) input.getValue("file");
		
		
		addMessage( ava.submeteSolucao(identificador, trataArquivos(itemEntrada, itemEntrada.getName())));
		}catch(Exception e) {
			String erro=""+e.getMessage();
			for(StackTraceElement mensagem : e.getStackTrace()) 
				erro +=mensagem.toString() + "<br>";
			
			erro+="FINALLLLL: "+identificador;
			output.setValue("message",erro);
			return ERROR;
		}
		
		return SUCCESS;
	}

	private String trataArquivos(FileItem fileItem, String fileName) {
		File temp = null;
		try {
			temp = new File(fileName);
			FileOutputStream outFiLE = new FileOutputStream(temp);
			byte[] data = fileItem.get(); 
			outFiLE.write(data);
			outFiLE.close();
		} catch (IOException e) {
		}
		
		return temp.getAbsolutePath();
	}
	
}
